#include<iostream>
#include<cstring>
#include<cmath>
using namespace std;
#define ll long long int
int t,n;
ll ans;
int a[200001];
int pre[200001];
int tong[1000001];
ll dp[200001];
int f[200001];
int main()
{
    freopen("color.in","r",stdin);
    freopen("color.out","w",stdout);
    scanf("%d",&t);
    a[0]=-1;
    while(t--)
    {
        for(int i=0;i<1000001;i++)
            tong[i]=0;
        scanf("%d",&n);
        for(int i=1;i<=n;i++)
        {
            scanf("%d",&a[i]);
            pre[i]=tong[a[i]];
            tong[a[i]]=i;
        }
//        for(int i=1;i<=n;i++)
//            printf("%d ",pre[i]);
//        printf("\n");
        dp[1]=0;
        for(int i=2;i<=n;i++)
            if(pre[i]!=0)
                dp[i]=max(dp[i-1],dp[pre[i]]+a[i]);
            else
                dp[i]=dp[i-1];
        ans=0;
        int k=n;
        while(k>0)
        {
            while(k>0&&dp[k-1]==dp[k])
                k--;
            f[k]=1;
            k=pre[k];
            f[k]=1;
        }
        for(int i=1;i<=n;i++)
            dp[i]=0;
/////////////////////////////////////////
        for(int i=2;i<=n;i++)
        {
            if(f[i])
            {
                dp[i]=dp[i-1];
                continue;
            }
            if(pre[i]!=0)
                dp[i]=max(dp[i-1],dp[pre[i]]+a[i]);
            else
                dp[i]=dp[i-1];
        }
        k=n;
        while(k>0)
        {
            while(k>0&&dp[k-1]==dp[k])
                k--;
            f[k]=2;
            k=pre[k];
            f[k]=2;
        }
///////////////////////////////////////////////
        int r=0,b=0;
        ll ans1=0,ans2=0;
        for(int i=1;i<=n;i++)
        {
            if(f[i]==2)
            {
                if(a[i]==a[b])
                    ans1+=a[i];
                b=i;
            }
            else
            {
                if(a[i]==a[r])
                    ans1+=a[i];
                r=i;
            }
        }
/////////////////////////////////////////////////
        r=0;
        b=0;
        for(int i=1;i<=n;i++)
        {
            if(f[i]==1)
            {
                if(a[i]==a[r])
                    ans2+=a[i];
                r=i;
            }
            else
            {
                if(a[i]==a[b])
                    ans2+=a[b];
                b=i;
            }
        }
        ans=max(ans1,ans2);
        printf("%lld\n",ans);
        for(int i=1;i<=n;i++)
            pre[i]=dp[i]=f[i]=0;
    }
    fclose(stdin);
    fclose(stdout);
    return 0;
}
